As is known in the art, “a computer network” or more simply “a network” is a connection of computer systems and peripheral devices that exchange data (or more generally information) as necessary to perform the specific function of the network. To exchange information, networks operate in accordance with a set of semantic and syntactic rules referred to as a protocol. One particular type of protocol is the Transmission Control Protocol/Internet Protocol (TCP/IP). When a network operates in accordance with the TCP/IP protocol it is typically referred to as an IP network.
As is also known, a router is a device which interconnects two computer networks. When the networks correspond to IP networks, the router interconnects two computer networks that use a single network layer (layer 3) procedure but may use different data link layer and physical layer procedures. Routers are protocol dependent because they must be able to identify an address field within a specific network layer protocol.
As improvements in network protocols, hardware speed and features occur, it is often necessary to upgrade routers to take advantage of such improvements. Thus, router hardware (HW) upgrade or more generally, network hardware expansion to accommodate end user demand on higher speed/capacity or more advanced set of QoS features is an important process to an IP network as well as other types of networks. With respect to IP networks, network hardware expansions/upgrades must be done to maintain an internet service provider's (ISP's) ability to continue to offer state-of-the-art value-added (and sometimes bandwidth intensive) IP services.
There are in general three types of layers in an ISP network hierarchy: “edge,” “hub,” and “backbone.” Since the functionality required for every layer is different, to upgrade or expand router hardware, it must be done separately for each individual network layer. That is, router functionality required of an “edge” layer is different from router functionality required of a “hub” layer, which in turn is different from the router functionality required of a “backbone” layer. Hence internal architectures amongst the edge, hub or backbone routers today are vastly different from one another. With this difference in functionality and internal architecture, to perform field upgrades, it is often necessary to acquire new routers for each individual layer in the network hierarchy. The new routers also often need to be lab-tested to ensure interoperability with existing hardware and software, an often time-consuming effort before field deployment can be made possible.
Assume, for example, that it is desired to perform network hardware expansion to add capacity to a router to accommodate more end users. This translates to adding more input/output (I/O) cards to expand the router's port capacity. However, it is not possible to add more I/O cards “on demand” without a new switch fabric (SF) replacement if the capacity for target expansion were not already built into the router SF at its first implementation. This is because capacity of most conventional router SFs (e.g. bus or crossbar) cannot be easily expanded on demand. Hence, considering the time and manpower consumption required to implement a replacement router SF, it is often less expensive to acquire a new router rather than utilizing the router SF replacement.
Moreover, the functionalities of “edge”, “hub” and “backbone” routers cannot be interchanged without also undertaking the time-consuming task of altering internal router hardware architectures required to adapt to the functionality of each router at the “target” network layer. Consequently, other routers in the network are typically not available as hardware resources to rapidly address upgrade or expansion needs of the different layers.
For example, an “edge” router cannot become a “hub” or “backbone” router without first undertaking a number of time-consuming and manpower-intensive modifications such as reconfiguring internal hardware architecture to take off or disable all internal quality of service (QoS) control plane functionalities and associated memories and database (for example, those for traffic policies/rules and network resource administration and management). Depending upon the original router hardware architectural implementation, this may involve physical alteration of internal hardware components such as dismantling of databases (e.g., tables) mounted on a computer board and installing new lookup functions to adapt to the hardware architectures appropriate for use as a backbone, and modification of internal packet-processing data paths through the router. In particular, it may be required to disable or dismantle physical wires that lead to a policy database/lookup table that is no longer useful in a “backbone” environment (e.g a policy database/lookup table such as packet prioritization based on rules). Also, if the data path were originally pipelined, the pipeline would need redesign since some pipeline stages must be skipped (or taken out) due to the disabling of the above-mentioned hardware components. Furthermore, such a pipeline modification may impact and thereby induce a change in the router's clock speed.
Furthermore, each of the above steps is labor-intensive and thus costly and time-consuming. Hence, upgrade of backbone routers using edge routers is rarely if ever done due to the labor and expense of hardware architectural alteration/re-work necessary stemming from the completely different internal hardware designs for “edge” and “hub/backbone” routers in most vendor products. Thus, when a “backbone” router upgrade/expansion is desired or necessary, a new router is typically purchased.
Similarly, it is also labor-intensive to adapt a “backbone” or “hub” router today for use as an “edge” router as it would entail the reversal of a number of the tasks listed above. For example, the process would include reconfiguring the router internal hardware architecture by installing quality of service (QoS) control plane functionalities and associated memories/databases on policies/rules, and network resource administration and management. Also, depending upon the desired target router hardware architectural implementation, the above-mentioned reconfiguration may also involve installing added databases and rewiring to accommodate added physical wires leading to the added databases/memories on a computer board, and if the packet-processing data path was pipelined, the pipeline must be redesigned to accommodate additional stages of database fetching/reading, making the pipeline longer and thus more complex, which could result in degradation of the overall performance of a router.
One attempt to improve network performance has been to reduce the number of layers. The Cisco 12000 Series IP Server Engine, available from Cisco Systems, Inc. of San Jose Calif., leverages the distributed architecture of the chassis with features that allow service providers to reduce both the number of layers and the number of boxes in the POP. It collapses the access/aggregation and distribution layers into a single layer with dense (channelized 2.5 Gbps), all-optical aggregation of existing transmission technologies on the customer side and 10 Gbps upstream connections within the POP. The network is less complex because there are fewer overall connections and fewer devices to manage.
Another problem which occurs is that a capacity/speed conversion or upgrade of an ISP network having multiple layers of network hierarchy often involves putting together different vendor equipment for the different network layers, as one vendor may not supply routers with different functionalities required for use in different layers of the network. For example, one vendor may specialize only in supplying routers for use at the “edge” layer but not the ‘backbone” layer, and vice versa. In such situations, lengthy and expensive network interoperability testing and field (confidence) testing must be conducted for the different equipment from different vendors in the different network layers. This results in a relatively long lead-time being required in the hardware expansion/upgrade process for all network layers. This is especially true when the expansion/upgrade involves new network features/functionalities. Hence, since router hardware expansion/upgrades must often be done network-wide for all network layers to ensure interoperability after the expansion/upgrade, the problem of costly and manpower intensive router hardware upgrades is exasperated with an increase in the numbers of network layers.
Another problem is that since IP QoS control is distributed in each individual router in conventional systems, only hop-by-hop non-optimal, instead of global, view of QoS control is possible. With QoS control in its distributed form, conventional router hardware architectures cannot scale to include whole-path data storage capacity needed for network whole-path QoS provisioning within the router itself due to router size and/or central office space constraints, among other inefficiencies. The reason being that to provision conventional routers with global knowledge for network whole-path-related QoS control would mean enormous expense since it would be necessary to equip each router with numerous built-in databases that yield such network-wide information. Examples are: policy information base, path QoS state information base, flow information base, multicast tree/state control server, multicast tree/state information base, policy control server, among others. Such provisioning is difficult to achieve within the limited space of a router chassis and with equipment footprint size restriction inside the limited space of a central office for routers.
Moreover, frequent and time-consuming synchronization of states amongst routers (often by message exchange in the form of a network protocol) is needed to ensure network-wide data/state coherence. With the inability to scale efficiently to include whole-path data storage capacity needed for network-wide QoS provisioning, an individual router has no global view of the bandwidth resource for arbitrary routes in the network. Consequently, it is highly inefficient for a router to provision value-added overall network-wide whole-path-related services such as IP-based VPN which involve routes elsewhere in the network the bandwidth resource status of which is not known to the router unless the router spends the time to “ask” for it via message exchange in the form of specific protocols.
In view of the above, it is clear that conventional router hardware architectures are not designed for cost- and manpower-efficient network hardware expansions or upgrades. In most cases in which a network hardware expansion/upgrade corresponds to a router hardware expansion/upgrade, the router hardware expansion/upgrade is synonymous with purchasing new routers. This approach results in the expenditure of large amounts of capital and manpower resources, as well as long hours of “costly” downtime for all parties involved (e.g. ISPs and end users).
The conventional processes for performing a network hardware expansion or upgrade are cost-inefficient and manpower intensive. Consequently, many companies (e.g. AT&T, Corp.) spend a tremendous amount of energy and resources in the process of network hardware expansions/upgrades.
It would, therefore, be desirable to provide a system which allows network hardware expansion or upgrades (including router hardware expansions or upgrades) to be accomplished efficiently in terms of dollar and manpower resources. It would also be desirable to provide a system and technique which allows a router to be reconfigured as an “edge”, a “hub” or a “backbone” router on-demand in order to induce efficient network hardware expansion or upgrades even in the face of network layering complexity (e.g. ISP network layering complexity).